-
Notifications
You must be signed in to change notification settings - Fork 625
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
build-sys,cmake: Add support for building with CMake #2959
base: master
Are you sure you want to change the base?
Conversation
Codecov Report
@@ Coverage Diff @@
## master #2959 +/- ##
==========================================
+ Coverage 87.25% 87.35% +0.10%
==========================================
Files 194 199 +5
Lines 44435 47689 +3254
==========================================
+ Hits 38770 41661 +2891
- Misses 5665 6028 +363
Continue to review full report at Codecov.
|
thanks for your contribution, but a lot of features are missing. |
I have been working on supporting |
our build system should support |
Why we should use CMake? |
|
Hi, @masatake , don't you need sleep? It seems that you are working 24 hours every day. 🤠 |
I really want to finish the "optscript" branch. Till merging it, I will work hard as much as possible! @leleliu008, @k-takata, have you ever used CMake ? In addition, I wonder how Geany developers say about using CMake. #2741 and #2794 touch the build scripts. If we switch to CMake, the pull request must be revised. |
I think that cmake can be added in addition to existing build systems as experimental feature with future improvements (i.e. we should not replace existing build systems for now). And after some time when everyone will be sure that it works for all needed architectures/OS with different configuration options, switch is possible. |
Yes.
|
I known some people hope our project support CMake build system. Why these people want this feature? I think they don't want to install
Our project can build with CMake, it is supported by me, following code show you how to use it:
cmakew likes autogen.sh, it can help user to install all softwares used by this project. About more details of CMake Build System, please read me |
If we can make our build scripts simpler, I would like to switch to CMake. One of what I don't like in the current Autotools-based build scripts is the way to add a man page is very complicated. |
|
You known I wrote a package manager called ndk-pkg, 270 common used packages are ported. About 160 packages using |
As we all known, in software engineering area, there are no silver bullets, every build system has it's problem. For example, many people(include me) don't like the syntax of CMake. I plan to develop a new programming language as simple as POSIX Shell to replace the syntax of CMake. |
When adding a man page I have to update following places:
See 31e07a3#diff-b19f04b8a1afe9c89d21aa97fc6cffdb32cb71940d13aa0084acf30381c0ac07 . If I can reduce the places for adding, I'm quite happy.
I would like to reduce the duplicated list of files. This is one of my criteria of simplicity.
Do you have a plan? I will try to write a "map" that can be used as the start of discsssion. Our build scripts have following aspects:
|
above code can be changed to following:
CMake has similar commands. If someone want to add a new manpage, just create a new file named
|
CMake was desined to avoid using compilcated parametrised shell scripts as a part of the project, i.e. shell scripts on the top of CMake as a part of the project is a very bad solution.
It does not look as a good enough reason to reinvent the wheel.
So, we can do this and I suggest to remove ctags_vs2013.* (and maybe mk_mvc.mak? ) and add initial basic CMake support (like in this MR). Thus, we are not adding a new one build system item, but replacing one with another (Visual Studio project => CMake). After that we can improve CMake build system (tests, features, documentation, etc) in separate MRs and at some point, when everybody will be happy with functionallity, we can switch. |
@ArcsinX, could you put your copyright notice to your CMakeList.txt like configure.ac? Quoted from configure.ac:
|
Thanks but... you are not "Darren Hiebert"! This year is 2021. |
Thank you. |
sorry to resurrect this PR, is there a chance that this PR will be merged any time soon? |
I have no plan to merge this. |
any particular reason? it does not break the code, and it actually adds a modern time build system for those who choose to use it |
I don't want to maintain two sets of build scripts. |
This patch adds support for building with CMake.
I am not sure that it covers all cases, but I've checked it with: